home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128Toolkit / MSD-DU10.ARC / MSD - $%c5%c50%c4 < prev    next >
Encoding:
Text File  |  2019-04-13  |  3.8 KB  |  91 lines

  1. ║CM:MSD - $┼┼0─
  2. ║LM21:RM70:PP66:PG60
  3. ║P#110
  4. ║FT1:,,╨AGE <>
  5. ║AI-16
  6.        ╞╬─╬╪╘   ╞IND NEXT OPTIMUM SECTOR ON CURRENT TRACK
  7.  
  8. $┼┼0─
  9.  
  10.  
  11.  
  12.        ╔╬╘╘╙    ╞IND OPTIMUM INITIAL TRACK AND SECTOR
  13.  
  14. $┼┼42
  15.  
  16.  
  17.  
  18.        ╞╬─╙┼├   ╞IND FIRST AVAILABLE SECTOR ON A TRACK
  19.  
  20. $┼┼7─
  21.  
  22.  
  23.  
  24.        ─┼╥╥     ┼RROR IN ┬┴═
  25.  
  26. $┼┼8├
  27.  
  28.  
  29.  
  30.        ╟┼╘╙┼├   ╙ET ┬┴═ AND LOCATE AVAILABLE SECTOR
  31.  
  32. $┼┼91
  33.  
  34.  
  35.  
  36.        ┴╓├╦     ├HECK VALIDITY OF BIT MAP FOR ONE TRACK
  37.  
  38. $┼┼┬7
  39.  
  40.  
  41.  
  42.        ═┴╪╙┼├   ╬UMBER OF SECTORS ON CURRENT TRACK
  43.  
  44. $┼┼─9
  45.  
  46.  
  47.  
  48.        ┴╘╬╙╥╓   ╚ANDLE ┴╘╬ SIGNAL ON SERIAL BUS
  49.  
  50. $┼┼┼6           ╙ET BIT 3 OF PORT ─ [$03] TO ZERO TO TELL ═╙─ CHIPS WE ARE LISTENING.
  51. $┼┼┼8           ─ISABLE INTERRUPTS.
  52. $┼┼┼9           ╫AIT FOR UP TO 2.8 MS FOR CLOCK LINE TO GO LOW.
  53. $┼┼╞1           ├LEAR THE LISTENER ACTIVE, ╠╙╬┴├╘ [$50] AND TALKER ACTIVE, ╘╠╦┴├╘ [$51] FLAGS.
  54. $┼┼╞7           ╙ET STACK POINTER TO $╞╞.
  55. $┼┼╞┴           ╙ET ┼╧╔╞╠╟ [$┬1] TO $80 TO INDICATE NON-┼╧╔ STATE.
  56. $┼╞00           ╩╙╥ ├╠╦╚╔ [$╞019] TO SET THE CLOCK OUT LINE HIGH.
  57. $┼╞03           ╩╙╥ ─┴╘╠╧╫ [$╞01┼] TO SET THE DATA OUT LINE LOW.
  58. $┼╞06           ┴CKNOWLEDGE THE ┴╘╬ SIGNAL BY SETTING THE ┴╘╬ ┴├╦ SIGNAL LINE 1 IN PORT ┴ [$00].
  59. $┼╞08  ┴╘╬╙15   ╔F THE ┴╘╬ SIGNAL HAS GONE, BRANCH TO ┴╘╬╙20 TO CARRY OUT THE ┴╘╬ COMMAND.
  60. $┼╞0┬           ├HECK THE CLOCK SIGNAL.  ╔F ABSENT, WAIT FOR IT BY BRANCHING BACK TO ┴╘╬╙15.
  61. ║FP0
  62. $┼╞0┼  ┴╘╬30    ╩╙╥ ┴├╨╘╥ [$╞038] TO GET THE COMMAND BYTE.
  63. $┼╞11           ╔F THIS IS NOT AN UNLISTEN COMMAND ($3╞) THEN BRANCH TO ┴╘╬35.
  64. $┼╞15           ╙ET ╠╙╬┴├╘ [$50] TO ZERO AND BRANCH TO ┴╘╬122.
  65. $┼╞1┬  ┴╘╬35    ╔F THIS IS NOT AN UNTALK COMMAND ($5╞) THEN BRANCH TO ┴╘╬40.
  66. $┼╞1╞           ╙ET ╘╠╦┴├╘ [$51] TO ZERO AND BRANCH TO ┴╘╬122.
  67. $┼╞25  ┴╘╬40    ╙EE IF THIS IS OUR TALK ADDRESS BY COMPARING THE COMMAND WITH ╘╠╦┴─╥ [$78].  ╔F IT DOES NOT MATCH THEN BRANCH TO ┴╘╬45.
  68. $┼╞29           ╙ET ╘╠╦┴├╘ [$51] TO $01 AND SET ╠╙╬┴├╘ [$50] TO ZERO AND BRANCH TO ┴╘╬95.
  69. $┼╞32  ┴╘╬45    ╙EE IF THIS IS OUR LISTEN ADDRESS BY COMPARING THE COMMAND WITH ╠╙╬┴─╥ [$77].  ╔F IT DOES NOT MATCH THEN BRANCH TO ┴╘╬50.
  70. $┼╞36           ╙ET ╠╙╬┴├╘ [$50] TO $01 AND SET ╘╠╦┴├╘ [$51] TO ZERO AND BRANCH TO ┴╘╬95.
  71. $┼╞3╞  ┴╘╬50    ╙AVE COMMAND BYTE BY COPYING IT TO .╪.
  72. $┼╞40           ├HECK FOR A SECONDARY ADDRESS BY ┴╬─ING WITH $60.  ╔F THE RESULT IS NOT $60 THEN IT IS NOT A SECONDARY ADDRESS SO BRANCH TO ┴╘╬120.
  73. $┼╞46           ╘HE COMMAND IS A SECONDARY ADDRESS.  ╥ESTORE IT FROM .╪ AND SAVE IT IN ╧╥╟╙┴ [$59].  ┴╬─ IT WITH $0╞ TO GET THE ACTUAL SECONDARY ADDRESS AND SAVE THE RESULT IN ╙┴ [$58].
  74. $┼╞4─           ╥ESTORE THE COMMAND FROM .╪ AND CHECK FOR A CLOSE COMMAND BY ┴╬─ING WITH $╞0.  ╔F THE RESULT IS NOT $┼0 THEN IT IS NOT A ├╠╧╙┼ COMMAND SO BRANCH TO ┴╘╬122.
  75. $┼╞54           ┼NABLE INTERRUPTS AND CLOSE THE FILE WITH A ╩╙╥ ├╠╧╙┼ [$─┴15].
  76. $┼╞58           ─ISABLE INTERRUPTS AND TELL ═╙─ CHIPS WE ARE LISTENING BY CLEARING BIT 3 OF PORT ─ [$03].
  77. $┼╞5┬  ┴╘╬95    ╔F ┴╘╬ IS STILL SET, BRANCH BACK TO ┴╘╬30 TO OBTAIN AND PROCESS ANOTHER COMMAND BYTE.
  78. $┼╞5┼  ┴╘╬╙20   ┴╘╬ SIGNAL GONE.  ├ARRY OUT THE COMMAND.  ╔NDICATE ┴╘╬ GONE BY CLEARING ┴╘╬═╧─ [$52].
  79. $┼╞62           ├LEAR ┴╘╬ ┴├╦ SIGNAL, BIT 1 OF PORT ┴ [$00].
  80. $┼╞64           ╔F ╠╙╬┴├╘ [$50] IS ZERO, WE ARE NOT LISTENING SO BRANCH TO ┴╘╬100.
  81. $┼╞68           ╩╙╥ ╠╔╙╘┼╬ [$╞08╞] TO OBTAIN DATA OVER THE SERIAL BUS.
  82. $┼╞6┬           ╩UMP TO ╔─╠┼ [$┼971] TO WAIT FOR SOMETHING TO HAPPEN.
  83. $┼╞6┼  ┴╘╬100   ╔F ╘╠╦┴├╘ [$51] IS ZERO, WE ARE NOT TALKING SO BRANCH TO ┴╘╬110.
  84. $┼╞72           ╩╙╥ ─┴╘╚╔ [$╞023] TO FREE THE DATA LINE.
  85. $┼╞75           ╩╙╥ ├╠╦╠╧╫ [$╞014] TO SET CLOCK OUT SIGNAL LOW.
  86. $┼╞78           ╩╙╥ ╘┴╠╦ [$┼╞88] TO SEND DATA OVER THE SERIAL BUS.
  87. $┼╞7┬  ┴╘╬110   ╩UMP TO ╔╠┼╥╥ [$╞0┬2] TO RELEASE BUS LINES AND RETURN TO IDLE MODE.
  88. $┼╞7┼  ┴╘╬120   ╙ET ─┴╘┴ ╧╒╘ AND ├╠╦ ╧╒╘ LINES HIGH TO RELEASE THEM.
  89. $┼╞82  ┴╘╬122   ╫AIT FOR ┴╘╬ SIGNAL TO VANISH.
  90. $┼╞85           ╩UMP TO ┴╘╬╙20 TO CARRY OUT COMMAND.
  91.